#pragma once

#include "creature.hpp"
#include "sheep.hpp"

class Wolf : public Creature
{
public:
    Wolf()
    {
        this->m_type = CT_WOLF;
    }

    virtual ~Wolf() {}

    virtual Event *run();

    virtual bool can_eat(Creature *c)
    {
        if (c != nullptr && c->type() == CT_SHEEP)
        {
            std::cout << "wolf can eat this sheep: " << c->id() << std::endl;
            return true;
        }
        else
        {
            std::cout << "walf can't eat that: " << c->position().x << ", " << c->position().y << std::endl;
            return false;
        }
    }
};